<?php
$identity = Zend_Auth::getInstance()->getIdentity();
$mdGroup= new Application_Model_DbTable_UserGroup();
$sort = $this->sort;
$sort_username = array("class"=>"","rel"=>"asc");
$sort_fullname = array("class"=>"","rel"=>"asc");
$sort_group = array("class"=>"","rel"=>"asc");
$sort_status = array("class"=>"","rel"=>"asc");
$sort_date = array("class"=>"","rel"=>"asc");

switch($sort['by']){
    case "username": 
        $sort_username = ($sort['type']=="asc")?array("class"=>" sorting_desc","rel"=>"desc"):array("class"=>" sorting_asc","rel"=>"asc");
        break;
    case "fullname": 
       $sort_fullname = ($sort['type']=="asc")?array("class"=>" sorting_desc","rel"=>"desc"):array("class"=>" sorting_asc","rel"=>"asc");
        break;
     case "groups_id": 
       $sort_group = ($sort['type']=="asc")?array("class"=>" sorting_desc","rel"=>"desc"):array("class"=>" sorting_asc","rel"=>"asc");
        break;
    case "status": 
       $sort_status = ($sort['type']=="asc")?array("class"=>" sorting_desc","rel"=>"desc"):array("class"=>" sorting_asc","rel"=>"asc");
        break;
    case "registry_date": 
       $sort_date = ($sort['type']=="asc")?array("class"=>" sorting_desc","rel"=>"desc"):array("class"=>" sorting_asc","rel"=>"asc");
        break;
}
?>
<table class="data display datatable">
    <thead>
        <tr>
            <th width="50" class="center">STT</th>
            <th class="sorting<?=$sort_username['class']?>">
                <a href="<?=$this->url(array("module"=>"admin","controller"=>"user","action"=>"list","sortby"=>"username"))?>" rel="<?=$sort_username["rel"]?>">Tên tài khoản</a>
            </th>
            <th class="sorting<?=$sort_fullname['class']?>">
                <a href="<?=$this->url(array("module"=>"admin","controller"=>"user","action"=>"list","sortby"=>"fullname"))?>" rel="<?=$sort_fullname["rel"]?>">Họ tên</a>
            </th>
            
            <th width="100" class="sorting<?=$sort_group['class']?>">
                <a href="<?=$this->url(array("module"=>"admin","controller"=>"user","action"=>"list","sortby"=>"groups_id"))?>" rel="<?=$sort_group['rel']?>">Nhóm</a>
            </th>
            
            <th width="100" class="sorting<?=$sort_date['class']?>">
                <a href="<?=$this->url(array("module"=>"admin","controller"=>"user","action"=>"list","sortby"=>"registry_date"))?>" rel="<?=$sort_date['rel']?>">Ngày đăng ký</a>
            </th>
            <th width="80" class="center">Đổi mật khẩu</th>
                        
            <th width="70" class="sorting<?=$sort_status['class']?>">
                <a href="<?=$this->url(array("module"=>"admin","controller"=>"user","action"=>"list","sortby"=>"status"))?>" rel="<?=$sort_status['rel']?>">Sử dụng</a>
            </th>
            <th width="50" class="center">Sửa</th>
            <th  width="60"  class="center">Xóa</th>
        </tr>                  
    </thead>
    
    <tbody>
        <?php $stt=1; foreach($this->datas as $row){ $parity = ($stt%2)?"odd":"even";?>
        <?php if(!empty($identity) && $identity->idusers==$row->idusers) continue;?>
        <tr class="gradeA <?=$parity?>">
            <td><?=$stt?></td>  
            <td class="zend_form"><?=$row->username?></td>
            <td><?=$row->fullname?></td>
            <?php
            $group = $mdGroup->find($row->groups_id)->current();
            ?>
            <td><?=$group->groups_name?></td>
            <?php
            $date = new Zend_Date($row->registry_date);
            ?>
            <td><?=$date->toString("dd-MM-YYYY")?></td>           
            
            <td class="center">
                <a class="change-pass" href="<?=$this->url(array("module"=>"admin","controller"=>"user","action"=>"change-pass","iduser"=>$row->idusers))?>">
                    <img src="<?=$this->baseUrl("templates/admin/img/password.png")?>" alt="[Đổi mật khẩu]" title="Đổi mật khẩu"/>
                </a>
            </td>
            
            <td class="center">
                <?if($row->idusers!=1){?>
                <a class="choice-multi" rel="<?=$row->status?>" href="<?=$this->url(array("module"=>"admin","controller"=>"user","action"=>"lock-user","choice"=>"multi","id"=>$row->idusers))?>">
                    <?php $ico = ($row->status)?"star_list.png":"star_unlist.png"?>
                    <img src="<?=$this->baseUrl("templates/admin/img/$ico")?>" />
                </a>                
                <?}else{?>
                <img src="<?=$this->baseUrl("templates/admin/img/star_list.png")?>" /> 
                <?}?>
            </td>
            
            <td class="center">                
                <a class="edit" href="<?=$this->url(array("module"=>"admin","controller"=>"user","action"=>"edit","iduser"=>$row->idusers))?>">
                    <img src="<?=$this->baseUrl("templates/admin/img/icon-edit.png")?>" alt="[Sửa]" title="Sửa"/>
                </a>
            </td>
            
            <td class="center">
                <?if($row->idusers!=1){?>
                <a class="del" href="<?=$this->url(array("module"=>"admin","controller"=>"user","action"=>"del","id"=>$row->idusers))?>">
                    <img src="<?=$this->baseUrl("templates/admin/img/icon-del.png")?>" alt="[Xóa]" title="Xóa"/>
                </a>
                <?}else{?>
                <img src="<?=$this->baseUrl("templates/admin/img/key_delete.png")?>" alt="[Không được xóa]" title="Không được xóa"/>
                <?}?>
            </td>
        </tr>
        <?php $stt++;}?>
    </tbody>
</table>

<?php if($this->datas->count()>1){// Nhiều hơn 1 trang thì sử dụng phân trang?>
<div class="dataTables_paginate paging_full_numbers">
    <?=$this->paginationControl($this->datas,"Sliding","partial/pagination-control.phtml")?>
</div>
<?php }?>
<br />


<script>
$(function(){    
    /*Xóa*/
    $(".del").click(function(){
        var _this = $(this);
        $(".dialog-message").html("<div class='message warning'><h5>Cảnh báo</h5><p>Bạn có chắc muốn thực hiện hành động này không?</p></div>")
                            .dialog({            
            autoOpen: true,
            modal: true,
            buttons: {
                "Có": function(){                    
                    var link =  _this.attr("href");
                    
                    $.get(link,{},function(rdata){
                        if(rdata==0){
                            $(".dialog-message").html("<div class='message error'><h5>Không thể xóa!</h5><p>Vì nhóm này là nhóm mặc định.<br/>Hoặc nhóm đang tồn tại các tài khoản người dùng!</p></div>")
                            .dialog({
                                buttons:{"OK":function(){$(this).dialog("close");}}
                            })
                        }else{
                            _this.parent("td").parent("tr").remove();
                        }    
                    },"json");
                    $(this).dialog("close");
                },
                "Không": function(){
                    $(this).dialog("close");
                }
            }
        })
        return false;
    })
    
    
     /*Phân trang*/
    $(".pagination a").click(function(){
        var link = $(this).attr("href");
        $(".loading").show();
        $.get(link,null,function(rdata){
            $(".dataTables_wrapper").html(rdata);
            $(".loading").fadeOut(1000);
        })
        return false;
    })
    
    /*Sắp xếp*/
    $(".sorting a").click(function(){
        var link = $(this).attr("href");
        var type = $(this).attr("rel");
        var filter_value = $(".searchkey").val();
        var sdata = {"sorttype":type,"filter_field":"username","filter_value":filter_value};
        if(filter_value.length==0){
            sdata={"sorttype":type};
        }
        $(".loading").show();
        $.post(link,sdata,function(rdata){
            $(".dataTables_wrapper").html(rdata);
            $(".loading").fadeOut(1000);
        })
        return false;
    })
    
    //enable or disable
    $(".choice-multi").click(function(){
        var icon = $(this).children("img").attr("src");
        var status = $(this).attr("rel");
        var link = $(this).attr("href");
        if(status==0){            
            var n_icon = icon.replace("star_unlist","star_list");
            $(this).attr("rel",1);
        }else{
            var n_icon = icon.replace("star_list","star_unlist");
            $(this).attr("rel",0);
        }
        $(this).children("img").attr("src",n_icon);
        $.get(link,{},function(){},"json");
        return false;
    })
    
    // Đổi mật khẩu
    $(".change-pass").click(function(){
        var clickObj = $(this);
        $(".dialog-form").html(form).dialog({
            autoOpen: true,
            modal: true,
            width: 450,
            buttons:{
                // Click lưu & thay đổi mật khẩu mới
                "Lưu": function(){
                    var data = {password: $("#password").val(),repassword:$("#repassword").val()};
                    var link = clickObj.attr("href");
                    
                    //Gởi dữ liệu lên servẻ
                    $.post(link,data,function(rdata){
                        if(rdata==true)
                        {
                            $(".dialog-form").html("<div class='message success'><h5>Thông báo!</h5><p>Mật khẩu đã đổi thành công.</p></div>")
                            .dialog({
                                buttons:{"OK":function(){$(this).html(form).dialog("close");}}
                            });
                        }
                        else
                        {
                            //Báo lỗi nếu server không chấp nhận
                           $(".dialog-form").html(form);
                           $(".dialog-form .message").addClass("error").prepend("<h5>Lỗi!</h5><p>Mật khẩu để trống hoặc mật khẩu xác nhận không đúng! </p>");
                        }
                    },"json");
                },
                "Hủy": function(){
                    $(this).dialog("close");
                }
            }
        });
        return false;
    })
    
})
</script>